package com.unify.type;

import java.util.List;

/**
 * 
 * 状态码 必需 message string 结果说明 必需 data array [object {14}] 字段定义列表 必需 id integer
 * 字段id 必需 name string 字段名 必需 type integer 字段类型 必需 参考：客户字段类型
 * 
 * maxUnicode integer 如果是文本内容，允许最大输入字符数 必需 scale integer 如果是数字，小数精度 必需 alias
 * string 已映射字段映射别名 必需 第三方系统字段映射值
 * 
 * options array [object {2}] 如果字段是单、多选，可选项 必需 id integer 选项id 必需 name string
 * 选项名 必需 personal boolean 是否可用于个人客户 必需 corporate boolean 是否可用于企业客户 必需 clue
 * boolean 是否可用于线索&待分配客户 必需 personMustFill boolean 个人客户字段是否必填 必需 corpMustFill
 * boolean 企业客户字段是否必填 必需 contactMustFill string 企业客户联系人字段是否必填 必需 contact boolean
 * 是否企业客户-联系人可用
 * 
 */
public class SearchColumn {
	@Override
	public String toString() {
		return "SearchColumn [id=" + id + ", name=" + name + ", type=" + type + ", options=" + options
				+ ", importRequired=" + importRequired + ", personal=" + personal + ", corporate=" + corporate
				+ ", clue=" + clue + ", defaultFieldId=" + defaultFieldId + ", contact=" + contact + ", personMustFill="
				+ personMustFill + ", corpMustFill=" + corpMustFill + ", contactMustFill=" + contactMustFill + ", seq="
				+ seq + "]";
	}

	private long id;
	private String name;
	private int type;
	private List<Option> options;
	private boolean importRequired;
	private boolean personal;
	private boolean corporate;
	private boolean clue;
	private Long defaultFieldId;
	private boolean contact;
	private boolean personMustFill;
	private boolean corpMustFill;
	private boolean contactMustFill;
	private long seq;

	// getters and setters for all the fields

	
	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public List<Option> getOptions() {
		return options;
	}

	public void setOptions(List<Option> options) {
		this.options = options;
	}

	public boolean isImportRequired() {
		return importRequired;
	}

	public void setImportRequired(boolean importRequired) {
		this.importRequired = importRequired;
	}

	public boolean isPersonal() {
		return personal;
	}

	public void setPersonal(boolean personal) {
		this.personal = personal;
	}

	public boolean isCorporate() {
		return corporate;
	}

	public void setCorporate(boolean corporate) {
		this.corporate = corporate;
	}

	public boolean isClue() {
		return clue;
	}

	public void setClue(boolean clue) {
		this.clue = clue;
	}

	public Long getDefaultFieldId() {
		return defaultFieldId;
	}

	public void setDefaultFieldId(Long defaultFieldId) {
		this.defaultFieldId = defaultFieldId;
	}

	public boolean isContact() {
		return contact;
	}

	public void setContact(boolean contact) {
		this.contact = contact;
	}

	public boolean isPersonMustFill() {
		return personMustFill;
	}

	public void setPersonMustFill(boolean personMustFill) {
		this.personMustFill = personMustFill;
	}

	public boolean isCorpMustFill() {
		return corpMustFill;
	}

	public void setCorpMustFill(boolean corpMustFill) {
		this.corpMustFill = corpMustFill;
	}

	public boolean isContactMustFill() {
		return contactMustFill;
	}

	public void setContactMustFill(boolean contactMustFill) {
		this.contactMustFill = contactMustFill;
	}

	public long getSeq() {
		return seq;
	}

	public void setSeq(long seq) {
		this.seq = seq;
	}

	public static class Option {
		private long id;
		private String name;
		private String cascadeId;
		private long seq;
		public long getId() {
			return id;
		}
		public void setId(long id) {
			this.id = id;
		}
		public String getName() {
			return name;
		}
		public void setName(String name) {
			this.name = name;
		}
		public String getCascadeId() {
			return cascadeId;
		}
		public void setCascadeId(String cascadeId) {
			this.cascadeId = cascadeId;
		}
		public long getSeq() {
			return seq;
		}
		public void setSeq(long seq) {
			this.seq = seq;
		}
		@Override
		public String toString() {
			return "Option [id=" + id + ", name=" + name + ", cascadeId=" + cascadeId + ", seq=" + seq + "]";
		}

		
	}
}